﻿using Abp.Application.Services.Dto;
using SingleUserMall.Common;
using SingleUserMall.StoreSettings.Form;
using SingleUserMall.StoreSettings.VO;
using System.ComponentModel;
using System.Threading.Tasks;

namespace SingleUserMall.StoreSettings
{
    /// <summary>
    /// 设置管理
    /// </summary>
    [Description("设置管理")]
    public interface IStoreSettingManageAppService : IManageService
    {
        /// <summary>
        /// 获取设置列表包含查询参数
        /// </summary>
       /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<StoreSettingVO>> GetStoreSettingsBySearchAsync(StoreSettingSearchForm form);
        /// <summary>
        /// 获取设置详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<StoreSettingVO> GetStoreSettingAsync(SingleId<long> form);
        /// <summary>
        /// 保存商城设置信息
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task SaveStoreSettingAsync(StoreSettingForm form);
        /// <summary>
        /// 删除商城设置信息
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task RemoveAsync(SingleId<long> form);
        /// <summary>
        /// 获取广告列表包含查询参数
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<AdvertSettingVO>> GetAdvertSettingsBySearchAsync(AdvertSettingSearchForm form);
        /// <summary>
        /// 获取广告详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<AdvertSettingVO> GetAdvertSettingAsync(SingleId<long> form);
        /// <summary>
        /// 保存广告信息
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task SaveAdvertSettingAsync(AdvertSettingForm form);
        /// <summary>
        /// 删除广告信息
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task RemoveAdvertAsync(SingleId<long> form);
        /// <summary>
        /// 获取主页设置列表包含查询参数
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<HomeSettingVO>> GetHomeSettingsBySearchAsync(HomeSettingSearchForm form);
        /// <summary>
        /// 获取主页设置详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<HomeSettingVO> GetHomeSettingAsync(SingleId<long> form);
        /// <summary>
        /// 保存主页设置
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task SaveHomeSettingAsync(HomeSettingForm form);
        /// <summary>
        /// 删除主页设置
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task RemoveHomeAsync(SingleId<long> form);
    }
}
